package com.feemanage.domain.vo;

import com.common.annotation.Excel;
import com.common.utils.poi.MyDataHandler;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.framework.config.BigDecimalSerializer;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;

@Data
public class BizProjectInComeVo {

    private static final long serialVersionUID = 1L;

    /** 自增ID */
    private String id;

    /** 项目ID */
    private String projectId;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 经费卡号 */
    @Excel(name = "经费账号")
    private String feeCardNum;

    /** 经费卡负责人名称 */
    @Excel(name = "经费卡负责人")
    private String feeChargerName;

    /** 本次入账金额 */
    @Excel(name = "本次入账金额(万元)",handler = MyDataHandler.class, args = { "金额"})
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal incomeFee;

    /** 留校金额 */
    @Excel(name = "留校金额(万元)",handler = MyDataHandler.class, args = { "金额"})
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal schoolFee;

    /** 外拨金额 */
    @Excel(name = "外拨金额(万元)",handler = MyDataHandler.class, args = { "金额"})
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal outboundFee;

    /** 到账日期 */
    @Excel(name = "到账日期")
    private LocalDate incomeDate;

    /** 单位名称**/
    @Excel(name = "所属单位")
    private String unitName;

    @Excel(name = "来款类型",readConverterExp = "direct=直接经费,indirect=间接经费,mixed=混合经费")
    private String incomeType; //来款类型

    @Excel(name = "来款单位")
    private String incomeUnitName; //来款单位

    @Excel(name = "对冲号")
    private String dch; //对冲号

    @Excel(name = "负责人工号")
    private String account; //负责人工号

    /**
     * 审核状态
     */
    @Excel(name = "审核状态",readConverterExp = "-1=暂存,1=审批中,2=审批通过,3=审批不通过,-2=待完善")
    private String checkStatus;

    /** 类型 */
    private String bizType;
}
